package com.zmn.oms.model.entity.work.list;

import com.zmn.oms.model.entity.work.OrderBaseEsQuery;
import com.zmn.oms.model.es.ZmnEsFieldType;
import com.zmn.oms.model.es.ZmnToEs;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.ToString;

import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * 工单来源渠道查询
 * @author: LuJia
 * @version: v1.0
 * @since: 2019/12/26 10:31
 **/
@Data
@ToString
@AllArgsConstructor
@NoArgsConstructor
public class OrderWorkSourceChannelQuery extends OrderBaseEsQuery {

    /**
     * 来源渠道Id
     */
    @ZmnToEs(map = "sourceChannelId", type = ZmnEsFieldType.Integer)
    @NotNull
    private Integer sourceChannelId;

    /**
     * 渠道结算状态
     */
    @ZmnToEs(map = "channelStatementStatus", type = ZmnEsFieldType.Integer)
    private Integer channelStatementStatus;

    /**
     * 工单状态
     */
    @ZmnToEs(map = "status", type = ZmnEsFieldType.Arr)
    private List<Integer> statusList;

    /**
     * 工单结果
     */
    @ZmnToEs(map = "resultStatus", type = ZmnEsFieldType.Arr)
    private List<Integer> resultStatusList;

    /**
     * 工单类型
     * @see com.zmn.oms.common.constant.OrderConsts#getOrderWorkTypeList()
     */
    @ZmnToEs(map = "type", type = ZmnEsFieldType.Arr)
    private List<Integer> workType;
}
